package com.gt.quality.system.service;

import org.springframework.web.multipart.MultipartFile;
import reactor.core.publisher.Flux;

import java.util.List;
import java.util.Map;

/**
 * 万里悲秋常作客,百年多病独登台
 *
 * @author : makeJava
 */
public interface ZhiPuAiProxyService {

    // 根据表名和问题获取选择表名
    Object getSelectTableNames(String tableNames, String question);

    // 构建SQL参数
    List<Map<String, Object>> buildSqlParam(String tableInfos, String question);

    // 处理AI问题
    String handlerAiQuestion(String params, String question, boolean createSql);

    // 从响应中解析表名
    String parseTableFromResponse(String response);

    // 从响应中解析SQL
    String parseSqlFromResponse(String response);

    // 流式调用
    Flux<String> streamInvoke(String question);

    // 文件处理
    Object fileHandler(MultipartFile file);

    // 生成视频
    Object generationsVide(String urlImage, String model, String quality, String size, int fps, boolean withAudio, String requestId, String prompt);

    // 根据id获取生成视频
    Object generationsVideById(String id);
}
